<!DOCTYPE html>
<html lang="zh-cn">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>htmlcss 阶段</title>
    <style></style>
</head>

<body>



    <script>
        // 体检数据：
        var jiashuju = [
            { name: "孙清瑶", sex: "女", weight: 116 },
            { name: "向君泽", sex: "男", weight: 140 },
            { name: "曾洛伊", sex: "女", weight: 126 },
            { name: "李青丝", sex: "女", weight: 96 },
            { name: "陈伟成", sex: "男", weight: 150 },
            { name: "张浩然", sex: "男", weight: 98 }
        ]


        // 面向对象
            // 构造函数 Exam， 创建构造函数的实例对象 obj ;
            
            // 添加属性 
            // data(数据)  ,role(值固定为110)
            // 添加方法recognizeSex, 调用该方法时，通过输入名单中的姓名判断性别,在控制台提示. 
            // 添加方法testWeight 通过输入名单中的姓名判断是否为胖子,假设体重超过了110斤为胖子 (rule: 110) 

            // function Exam(name){
               // 编写你的代码
            // }

            // 实例对象
            // var obj =new Exam();
            // 例如：孙清瑶是女生 
            // obj.recognizeSex("孙清瑶");// 孙清瑶是女生
            // obj.recognizeSex("向君泽");// 向君泽是男生
         
            // obj.testWeight("向君泽");// 他是胖子
            // obj.testWeight("李青丝");// 她不是是胖子


            // 编码：
            // 构造函数
            var Exam = function() {
                // 添加属性
                this.data = jiashuju;
                this.role = 110;
                // 添加方法 (识别性别)
                this.recognizeSex = function(username){
                    // 定义变量 记录性别
                    var sex = "";
                    // 循环数组
                    for(var i = 0 ; i < this.data.length ; i ++ ){
                        if(username == this.data[i].name){
                            // 记录当前用户的性别
                            sex = this.data[i].sex;
                            // 跳出循环
                            break;
                        }
                    }
                    // 判断sex字符串的length属性值是否为0，如果是，用就不存在
                    if(sex.length == 0){
                        console.log("您要搜索的用户不存在");
                        // 终止代码
                        return ;
                    }
                    // 在控制台输出字符串
                    console.log(username+"是"+sex+"生");
                    // 在当前这个函数作用域的外部，想继续使用“sex”这个数据
                    return sex;
                }
                // 添加方法 (测试体重)
                this.testWeight = function(username){
                    // 定义变量 记录性别(他/她)
                    // var sex = this.recognizeSex(username);
                    var sex = "";
                    // 定义变量 记录体重
                    var tizhong ;
                    // 循环数据
                    for(var i = 0 ; i < this.data.length ; i ++){
                        if(username == this.data[i].name){
                            tizhong = this.data[i].weight;
                            sex = this.data[i].sex;
                            break;
                        }
                    }
                    // 判断当前用户是否存在
                    if(tizhong == undefined){
                        console.log("用户不存在");
                        return ;
                    }
                    // 判断体重是否超出标准 (是否为胖子的标准)
                    if(tizhong > this.role){
                        sex == "女" ? console.log("她是胖子") : console.log("他是胖子");
                    }else { 
                        sex == "女" ? console.log("她不是胖子") : console.log("他不是胖子");
                    }
                }
            }


            // 实例对象
            var obj = new Exam();

            // 识别性别
            obj.recognizeSex("孙清瑶");// 孙清瑶是女生
            obj.recognizeSex("向君泽");// 向君泽是男生
         

            // 测试体重
            obj.testWeight("李青丝");// 她不是胖子
            obj.testWeight("向君泽");// 他是胖子

    </script>
</body>

</html>